This invention relates to methods and systems for provisioning online services. In particular, the invention relates to componentized, adaptable methods and systems for provisioning online services.
Various online services are typically used by individuals and businesses to communicate information that may be of interest to others. Such online services can include Internet services such as web hosting, mail, news, and chat services to name just a few.
Online services are typically provided by a service provider such as an Internet Service Provider or (ISP). ISPs have responsibility for setting up, managing and overseeing online user accounts which, in many cases, can number into the hundreds of thousands or even millions. Many of the functions that ISPs provide in connection with user accounts have to be rendered, at least in part, manually. That is, a system administrator will physically have to get involved with the provisioning process. One reason for requiring the services of a system administrator is that system administrators have certain access privileges and rights that ensure that only authorized individuals have access to online service systems. Needless to say, this places an unreasonable burden on system administrators. In addition, as the number of online services and users has increased, problems with scalability have become more burdensome. That is, with more and more online services and users, ISPs have more than ever before an increasingly heavy burden in administering overall systems. This, in turn, can greatly impact the efficiency with which ISPs perform their tasks and provision various online services.
Another problem that is a manifestation of the growing numbers of online services and vendors that supply such services is one of integration. Consider that today""s ISPs deploy services that basically form disconnected islands of application functionality in their technology infrastructure. Applications from different vendors do not integrate or inter-operate, even if they are written specifically for the same platform. This poses major problems for the ISP. ISPs either do not attempt to integrate multi-vendor applications due to the cost and/or complexity of the task, or they spend enormous amounts of time, money and resources to force such integration with little or no standardization.
Accordingly, this invention arose out of concerns associated with lessening the burden of online service provisioning on system administrators and facilitating integration of such online Internet services.
A framework is presented that automates the online service provisioning process and alleviates the impact that the provisioning has on service providers. One or more programming modules now assume the role of the system administrator and function to interface with a user and collect user information. The programming modules use the collected information to ascertain which online services have been selected by a particular user, and then automatically provision or attempt to provision those services. The programming modules are programmed to take all of the steps that are necessary to set up and configure user accounts.
In the described embodiment, a master object is provided and is the programmatic focal point of a user""s interaction with the framework. The master object can perform two primary functionsxe2x80x94(1) security bufferingxe2x80x94i.e., protecting system resources such as back end servers from a user that is not authorized to access such servers, and (2) oversight of various service configuration objects or xe2x80x9cSCOsxe2x80x9d. The SCOs are programming objects that are each associated with a particular online service that might be specified by a user. The SCOs are separately configured to take the appropriate steps necessary to provision their own associated online service.
In the described embodiment, in addition to these objects, a DS access object is provided and is the interface for a data store that stores user information.
When a user enters the system, the master object is instantiated. Information that is to be used to provision various user-requested online services is collected from the user and stored in the data store. The master object is called when the information collection process is finished. The master object determines which services need to be provisioned and, correspondingly, instantiates the necessary SCOs, thereafter calling appropriate SCOs methods that enable the SCOs to provision their respective online service.
The SCOs are programmed and know what is needed to provision their online service and make calls to the DS access object to get user information from the data store that assist in provisioning the requested Internet service(s). The user information is provided to the SCOs which then, one-by-one, provision their respective online services.
In the described embodiment, the concept of a transaction is used to describe the process of provisioning the user-requested online services. The transaction is monitored throughout the provisioning process for purposes of implementing a rollback process, if necessary. The rollback process can be invoked in the event a configuration error occurs for any of the instantiated SCOs. The rollback process places the particular user-specified online services in a state that existed previous to the user entering the transaction.